const path = require('path')

const VueLoaderPlugin = require('vue-loader/lib/plugin');


const hwp = require('html-webpack-plugin')
module.exports = {
    entry: path.join(__dirname, './src/main.js'), // 入口，表示，要使用 webpack 打包哪个文件
    output: { // 输出文件相关的配置
        path: path.join(__dirname, './dist'), // 指定 打包好的文件，输出到哪个目录中去
        filename: 'bundle.js' // 这是指定 输出的文件的名称
    },
    mode: "development",
    plugins: [
        // 启动html-webpack-pligin
        new hwp({
            //指定模板页面
            template: path.join(__dirname, "./src/index.html"),
            filename: "index.html",
            favicon: path.resolve('src/favicon.ico'),
            inject: true,
        }),
        new VueLoaderPlugin()
    ],
    module: {
        rules: [
            // 配置style-loader 和 css-loader
            { test: /\.css$/, use: ["style-loader", "css-loader"] },
            { test: /\.less$/, use: ["style-loader", "css-loader", "less-loader"] },
            { test: /\.scss$/, use: ["style-loader", "css-loader", "sass-loader"] },
            // [name].[ext] 保持为原名称
            { test: /\.(png|jpg|gif|bmp|jpeg)$/, use: "url-loader?limit=1000&esModule=false" },
            { test: /\.(ttf|eot|svg|woff|woff2)$/, use: "url-loader?esModule=false" },
            { test: /\.js$/, use: 'babel-loader', exclude: /node_modules/ },
            { test: /\.vue$/, use: 'vue-loader' },
        ]
    },
    resolve: {
        alias: {
            // "vue$": "vue/dist/vue.js"
        }
    }
}